Modificari realizate in 2021-09-09 de Nicolae Popa nicolae.m.popa@gmail.com =========================================================================== Programul principal este scris in BASIC si se regaseste in ultimul bloc. O subrutina assembler este incarcata in prealabil la adresa 65000, si ea contine instructiuni de protectie, precum si redefinirea unor caractere in modul grafic G, necesare la afisarea formulelor de determinare a triunghiului. Programul principal se extrage cu utilitarul Tapir, iar in prealabil se modifica headerul astfel incat sa nu mai porneasca executia dupa incarcare (LINE 1). Dupa incarcarea programului principal in emulator, se editeaza linia 1, adaugandu-se inainte un REM astfel incat totul sa devina un comentariu (la rularea RUN sa nu gresim sa execute ce gaseste rezidual in memorie la adresa 65000). Modificari ale programului ========================== 510: Au fost adaugate spatii in textul afisat, pentru o vizibilitate mai buna. 527, 528, 571: Au fost modificate tastele (in loc de 6, 7 si I avem SAGETILE si ENTER), precum si textul corespunzator de pe ecran. 1135-1155: Formulele de calcul erau gresite, precum si logica de programare. Am modificat astfel incat trateaza initial cazul de 3 inaltimi cunoscute (ceea ce programul original nu facea, ci se folosea de aria calculata si de 2 inaltimi - de unde rezulta gresit ca sunt 2 triunghiuri posibile). De asemenea, am corectat solutiile ecuatiei bicvadratice (ele rezulta din formula lui Heron, dar le-am gasit cu mare dificultate, chiar si in era Internet!). Bug-ul putea fi observat introducat in programul initial 3 valori pentru inaltimi (de exemplu, h1=10, h2=10, h3=10 si rezultau 2 triunghiuri - iar chiar si la alegerea celui ascutitunghic, triunghiul determinat era gresit). Ceea ce nu am putut corecta, pentru ca nu mai este loc intre liniile BASIC existente, sunt formulele afisate pe ecran (afiseaza de 2 ori l1=2*S/h1 si atat). 2050-2052: Verificare daca este triunghi echilateral, isoscel, dreptunghic => am permis identificarea cu o mica marja de eroare, si anume 0,1% pentru isoscel si echilateral, respectiv 0,5% pentru verificarea reciprocei Teoremei lui Pitagora. De asemenea, locul de afisare pe ecran pentru mesajul "Triunghi dreptunghic" este cu o linie mai jos, astfel incat in caz de triunghi dreptunghic isoscel se afiseaza ambele mesaje. Am dublat pauzele cat timp mesajele sunt afisate (erau de 1 secunda, acum sunt de 2 secunde). Acum, pentru un triunghi cu laturile 1, 1 si 1,414 afiseaza ambele mesaje "Triunghi isoscel" si "Triunghi dreptunghic". 4014: Initial aici era optiunea de tiparire la imprimanta (HARDCOPY). Cum imprimante compatibile nu mai exista (si nici pe vremea aceea nu prea existau), am modificat mesajul in "TASTATI ORICE" si la apasarea oricarei taste trecem mai departe. Practic, am eliminat optiunea de tiparire. Operatiunea a durat o zi intreaga.